$(function () {

    getCategory();
    renderDate();  
    renderTextArea();
    // 1 获取文章分类数据 渲染到页面中
    function getCategory() {
      $.get("/admin/category/list", function (res) {
        const optionHTML = res.data.reduce((beforeHTML, item) => beforeHTML += `<option value='${item.id}' >${item.name}</option>`, "<option value='' >所有分类</option>");
        $("#category").html(optionHTML);
      })
    }
  
    // 2 渲染日期组件
    function renderDate() {
      // 2 初始化 layui的日期选择框
      const laydate = layui.laydate;
  
      //执行一个laydate实例
      laydate.render({
        elem: '#articleDate' //指定元素
      });
  
    }
  
    // 3 渲染富文本
    function renderTextArea() {
      tinymce.init({
        selector: '#articleContent',
        // 设置中文  下载语言包才行
        language: 'zh_CN',//注意大小写
      });
    }
  
  
    // 4 图片上传 即时显示的功能
    $("#inputCover").on("change", function () {
      // 将用户选择的图片 获取到在内存当中的地址
      const src = URL.createObjectURL(this.files[0]);
  
      // 将图片地址赋值给 图片标签 来实现 即时显示
      $("#coverimg").show().prop("src", src);
  
    })
  
    // 5 给 “发布” 和 “存为草稿”  绑定点击事件
    $(".btn-edit,.btn-draft").on("click", function () {
  
      // 5.1 获取到 表单的值  通过 formData 序列化 表单 （得到对象 ）
  
      const formData = new FormData($("#form")[0]);
      // formData 里面获得一个数据
      // 获取富文本的内容   tinyMCE.editors["mytextarea"].getContent();
      const content = tinyMCE.editors["articleContent"].getContent()
  
      // 添加了 富文本内容！！！
      formData.append("content", content);
      if ($(this).text() === "发布") {
        formData.append("state", "已发布");
      } else {
        // 表示 用户点击的 存为草稿
        formData.append("state", "");
      } 
      $.ajax({
        url: "/admin/article/publish",
        data: formData,
        type: "post",
        contentType: false,
        // 不要额外处理我们的参数 
        processData: false,
        success(res) {
          if (res.code === 200) {
            layer.msg("操作成功")  
            setTimeout(() => {
              location.href = "article_list.html";
            }, 2000);
          }
        }
      })
  
  
    })
  
  
  
  })